package com.itmyx.base.util.String;

/**
 * 功能描述    字符串变化相关
 * @类型名称 StringChangeUtil
 * @版本 1.0
 * @创建者 myx
 * @创建时间 2016年9月9日 下午12:31:09
 * @版权所有 @2016 ITMYX
 * @修改者 myx
 * @修改时间 2016年9月9日 下午12:31:09
 * @修改描述
 */
public class StringChangeUtil {
	
	/**
	 * 概述：	获取数据库表名对应实体类名
	 * 方法编号： 				
	 * 相关业务 ：		
	 * 实现原理：		
	 * 其他：			
	 * -----------------------------------------------------
	 * 版本：			
	 * 创建者：		
	 * 创建时间：		2016年9月9日	下午12:35:12
	 * 最后更新者：		myx
	 * 最后更新时间：	2016年9月9日 下午12:35:12
	 * -----------------------------------------------------
	 * 时间：			2016年9月9日 下午12:35:12
	 * 版本：			
	 * 修改类型：		
	 * 修改内容：		
	 * 修改人：		myx
	 * -----------------------------------------------------
	 * 
	 * @param tableName               表名
	 * @param tablePrefix             表前缀
	 * @return
	 */
	public static String _ToUpperNextCase(String str,String tablePrefix) {
		char[] cs = null;
		if(tablePrefix!=null&&!("".equals(tablePrefix))){
			cs = str.replace(tablePrefix,"").toCharArray();
		}else{
			cs = str.toCharArray();
		}
		cs[0] -= 32;
		for (int i = 0; i < cs.length-1; i++) {
			if(cs[i]=='_'){
				cs[i+1] -= 32;
			}
		}
		return String.valueOf(cs).replace("_","");
	}
	
	/**
	 * 概述：	类首字母小写
	 * 方法编号： 				
	 * 相关业务 ：		
	 * 实现原理：		
	 * 其他：			
	 * -----------------------------------------------------
	 * 版本：			
	 * 创建者：		
	 * 创建时间：		2016年9月9日	下午2:08:55
	 * 最后更新者：		myx
	 * 最后更新时间：	2016年9月9日 下午2:08:55
	 * -----------------------------------------------------
	 * 时间：			2016年9月9日 下午2:08:55
	 * 版本：			
	 * 修改类型：		
	 * 修改内容：		
	 * 修改人：		myx
	 * -----------------------------------------------------
	 * 
	 * @param tableName
	 * @param tablePrefix
	 * @return
	 */
	public static String classNameFirstLowerCase(String className) {
		char[] cs = className.toCharArray();
		cs[0] += 32;
		return String.valueOf(cs);
	}
	
	/**
	 * 概述：	首字母大写
	 * 方法编号： 				
	 * 相关业务 ：		
	 * 实现原理：		
	 * 其他：			
	 * -----------------------------------------------------
	 * 版本：			
	 * 创建者：		
	 * 创建时间：		2016年9月9日	下午4:42:42
	 * 最后更新者：		myx
	 * 最后更新时间：	2016年9月9日 下午4:42:42
	 * -----------------------------------------------------
	 * 时间：			2016年9月9日 下午4:42:42
	 * 版本：			
	 * 修改类型：		
	 * 修改内容：		
	 * 修改人：		myx
	 * -----------------------------------------------------
	 * 
	 * @param className
	 * @return
	 */
	public static String strFirstUpperCase(String str) {
		char[] cs = str.toCharArray();
		cs[0] -= 32;
		return String.valueOf(cs);
	}
	
	
	public static void main(String[] args) {
		System.out.println(StringChangeUtil.classNameFirstLowerCase("Asdfsfdsf"));
		System.out.println("aaAtT_ee".toLowerCase());
	}
}
